Parallelisierung mit modernen C++ in einer grafischen Oberfläche von Volker Hillmann
In unserer Praxis als Unternehmensberater und Trainer ist uns aufgefallen, dass
sehr viele C++ Programmierer in ihren jeweiligen Frameworks, speziell der
Oberflächenbibliothek gefangen sind.
Dabei spielt es keine Rolle, ob es sich um eine proprietäre Lösung oder eine freizugängliche
Bibliothek handelt.
Gerade die Verwendung dieser Frameworks führt aber immer wieder zu Stress und sehr
hohen Migrationsaufwendungen. Ein Wechsel des Frameworks, und damit des Vendors oder
der Plattform ist dann oft nicht möglich. Deshalb werden die meisten C++
Beispiele in Büchern oder auf Veranstaltungen wie dieser immer als normale
Konsolenanwendung geliefert, den scheinbar kleinsten Nenner. Das führt dazu, dass
der Eindruck hinterlassen wird, man könne in C++ keine modernen Oberflächen umsetzen,
oder eben nur mit sehr hohen Aufwand.
In dieser Session werden viele Eigenschaften des neuen C++ Standards an dem roten Faden
eines konkreten Beispiels gezeigt. Hier spielt die parallele Verarbeitung und der Zugriff
auf das Dateisystem eine zentrale Rolle.
C++11 hat die Möglichkeiten Probleme zu lösen radikal geändert. Dazu gehören neue
Spracheigenschaften und Erweiterungen der Standardbibliothek genauso wie Themen rund um
Optimierung von Rückgabewerten und die RValues. In dieser Session werden Lambda- Ausdrücke
verwendet und die Aufrufe von Funktionen über die bind- Methode an einen Algorithmus angepasst,
so dass die Lösung mit Hilfe von Standardalgorithmen anstatt eigenen Codes in for- Schleifen gezeigt wird.
Notwendige Daten werden einfach in einem Tupel abgelegt, anstatt eine eigene Klasse zu nutzen.
Und das neue Schlüsselwort auto darf in einer Session über modernes C++ natürlich auch nicht fehlen.
Dabei erfolgt die Ausgabe mit Hilfe einer properitären Oberflächenbibliothek des C++Builder X,
ohne dass die eigentlichen Kernfunktionalitäten des Beispiels von diesem abhängig werden.
Vielmehr erfolgen die Ausgaben über C++ Streams.
Jeder C++ Entwickler sollte anschließend in der Lage sein, dieses Beispiel an seine favorisierte
Entwicklungsumgebung und das verbundene Framework anzupassen.
Mit dieser Session wollen wir also einen Schritt rückwärts gehen, so dass die eigentlichen Frameworks
genutzt werden, aber nicht mehr die Anwendung bestimmen.
So sind die Kernalgorithmen dieser Session mit den meisten C++14 - Compilern übersetzbar.
Wie in den Seminaren der adecc Systemhaus GmbH sollen auch hier die Techniken an einem konkreten
Beispiel erklärt werden.
Auf unserem Video-Portal studios.ppedv.de findet man eine breite Basis an Informationen rund um das Thema IT.
Die Schwerpunkte bilden dabei nicht nur Microsoft-Technologien. Themen wie Visual Studio, .net, C++, C#, Angular JS und viele mehr werden von unseren professionellen Trainern detailliert erklärt.